package org.douxiaoban.client.widget;

import java.util.ArrayList;

import org.douxiaoban.client.R;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Color;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class PageControlerView extends LinearLayout {

	private int mPageCount;
	private TextView mCurPageTv;
	private ArrayList<TextView> mPagesTextView;

	public interface OnPageChangedListener {
		void onPageClick(int page);
	}

	private OnPageChangedListener mOnPageListener;

	public PageControlerView(Context context) {
		super(context);
		init();
	}

	public PageControlerView(Context context, AttributeSet attrs) {
		super(context, attrs);
		init();
	}

	private void init() {
		setGravity(Gravity.CENTER);
		mPagesTextView = new ArrayList<TextView>();
	}

	public void setOnPageChangedListener(OnPageChangedListener listener) {
		mOnPageListener = listener;
	}

	private TextView mTextView;
	public void setPageCount(int pageCount) {
		mPageCount = pageCount;
		mTextView = new TextView(getContext());
		LayoutParams params = new LayoutParams(50,
				LayoutParams.WRAP_CONTENT);
		params.gravity = Gravity.CENTER;
		addView(mTextView, params);
		mTextView.setGravity(Gravity.CENTER);
		mTextView.setText("1/" + pageCount);
		final EditText input = new EditText(getContext());
		mTextView.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				final Dialog dialog = new AlertDialog.Builder(getContext())
				.setTitle("请输入要跳到的页码")
				.setIcon(android.R.drawable.ic_dialog_info)
				.setView(input)
				.setPositiveButton("跳到", new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {
						int pos;
						try{
							pos = Integer.parseInt(input.getText().toString());
						}catch(Exception e){
							Toast.makeText(getContext(), "请输入数字", Toast.LENGTH_SHORT).show();
							return;
						}
						if(pos < 0 || pos > mPageCount){
							Toast.makeText(getContext(), "请输 1 - " + mPageCount, Toast.LENGTH_SHORT).show();
							return;
						}
						if (null != mOnPageListener) {
							mOnPageListener.onPageClick(pos - 1);
						}
						dialog.dismiss();
					}
				})
				.show();
			}
		});
//		mPageCount = pageCount;
//		for (int i = 0; i < pageCount; i++) {
//			final TextView tv = new TextView(getContext());
//			LayoutParams params = new LayoutParams(30,
//					LayoutParams.WRAP_CONTENT);
//			params.rightMargin = 8;
//			params.gravity = Gravity.CENTER;
//			addView(tv, params);
//			tv.setGravity(Gravity.CENTER);
//			final int pos = i;
//			tv.setText(String.valueOf(i+1));
//			tv.setTextSize(14);
//			tv.setOnClickListener(new OnClickListener() {
//				@Override
//				public void onClick(View v) {
//					if (null != mOnPageListener) {
//						updateCurPageStatu(pos);
//						mOnPageListener.onPageClick(pos);
//					}
//				}
//			});
//			mPagesTextView.add(tv);
//		}
//		mCurPageTv = mPagesTextView.get(0);
//		updateCurPageStatu(0);
	}

	public void updateCurPageStatu(int curPage){
		mTextView.setText(curPage + "/" + mPageCount);
	}
	
//	public void updateCurPageStatu(int pos) {
//		mCurPageTv.setTextColor(getResources().getColor(R.color.blue));
//		mCurPageTv.setBackgroundColor(Color.parseColor("#00FFFFFF"));
//		mCurPageTv = mPagesTextView.get(pos);
//		mCurPageTv.setTextColor(Color.parseColor("#FFFFFF"));
//		mCurPageTv.setBackgroundColor(getResources().getColor(R.color.green));
//	}

}